API Documentation
TreeView.h
1 // TreeView.h
3 //
5 
6 namespace nkWinUi
7 {
11  class DLL_WINUI_EXPORT TreeView : public Component
12  {
13  public :
14 
18  class DLL_WINUI_EXPORT Item
19  {
20  public :
21 
25  Item () ;
29  virtual ~Item () ;
30 
37  Item* addChild (Item* child) ;
42  Item* getChild (unsigned int index) const ;
48  void disavowChild (Item* child) ;
49 
55  void setText (const std::string_view& text) ;
59  std::string_view getText () const ;
60 
66  void setParentTree (TreeView* parent) ;
70  TreeView* getParentTree () const ;
76  void setParentItem (Item* item) ;
80  Item* getParentItem () const ;
86  void setPrecedingItem (Item* item) ;
90  Item* getPrecedingItem () const ;
91 
99  void setAttachedData (void* data) ;
103  void* getAttachedData () const ;
104 
111  } ;
112 
113  public :
114 
118  TreeView () ;
123 
124  // Getters
129  Item* getItemFromData (void* data) const ;
133  virtual Item* getSelectedItem () = 0 ;
138  virtual Item* getItemAtAbsoluteCursor (const nkMaths::Point& absCoords) = 0 ;
143  virtual Item* getItemAtRelativeCursor (const nkMaths::Point& relCoords) = 0 ;
147  bool getSelectOnRightClick () const ;
152 
153  // Setters
159  void setSelectionOnRightClick (bool value) ;
173 
183  virtual Item* insertItem (const std::string_view& text, void* data, Item* parent = nullptr, Item* afterThisOne = nullptr) ;
190  virtual void deleteItem (Item* toDelete, bool keepChildrenOnUpper = false) ;
197  virtual void changeItemLabel (Item* toChange, const std::string_view& label) ;
198 
204  void selectItemFromItsData (void* data) ;
210  virtual void selectItem (Item* item) = 0 ;
223 
227  virtual void exportIntrospection (nkExport::Node* rootNode) override ;
231  virtual void importClassFromTree (nkExport::Node* rootNode) override ;
232  } ;
233 }
nkWinUi::TreeView::Item::getParentItem
Item * getParentItem() const
nkWinUi::TreeView::Item::getText
std::string_view getText() const
nkWinUi::TreeView::Item::setParentItem
void setParentItem(Item *item)
nkWinUi::TreeView::Item::getAttachedData
void * getAttachedData() const
nkWinUi::TreeView::Item::setAttachedData
void setAttachedData(void *data)
nkWinUi::TreeView::getSelectOnRightClick
bool getSelectOnRightClick() const
nkWinUi::TreeView::setContextMenuCallback
void setContextMenuCallback(contextMenuCreationCallback value)
nkWinUi::TreeView
A graphical tree view window.
Definition: TreeView.h:12
nkWinUi::TreeView::getSelectedItem
virtual Item * getSelectedItem()=0
nkWinUi::TreeView::TreeView
TreeView()
nkWinUi::contextMenuCreationCallback
std::function< bool(Component *caller, int absX, int absY)> contextMenuCreationCallback
Used by components when they need a context menu to be created.
Definition: CallbackRepository.h:143
nkWinUi::TreeView::selectItemFromRelativeCursor
void selectItemFromRelativeCursor(const nkMaths::Point &relCoords)
nkWinUi::TreeView::Item
Holds information of a tree view item.
Definition: TreeView.h:19
nkWinUi::TreeView::Item::Item
Item()
nkWinUi::TreeView::changeItemLabel
virtual void changeItemLabel(Item *toChange, const std::string_view &label)
nkWinUi::TreeView::Item::setPrecedingItem
void setPrecedingItem(Item *item)
nkWinUi::TreeView::exportIntrospection
virtual void exportIntrospection(nkExport::Node *rootNode) override
nkWinUi::TreeView::Item::addChild
Item * addChild(Item *child)
nkWinUi::TreeView::Item::getParentTree
TreeView * getParentTree() const
nkWinUi::Component
Base class for any graphical component.
Definition: Component.h:12
nkWinUi::TreeView::getItemAtAbsoluteCursor
virtual Item * getItemAtAbsoluteCursor(const nkMaths::Point &absCoords)=0
nkWinUi::TreeView::importClassFromTree
virtual void importClassFromTree(nkExport::Node *rootNode) override
nkExport::Node
A node in the tree structure representing the data to export / import.
Definition: Node.h:42
nkWinUi::treeSelectionCallback
std::function< bool(TreeView *caller, void *itemData)> treeSelectionCallback
Used by a nkWinUi::TreeView to signal a selection occurred inside.
Definition: CallbackRepository.h:96
nkMaths::Point
Represents a 2D Point.
Definition: Point.h:12
nkWinUi::TreeView::insertItem
virtual Item * insertItem(const std::string_view &text, void *data, Item *parent=nullptr, Item *afterThisOne=nullptr)
nkWinUi::TreeView::selectItem
virtual void selectItem(Item *item)=0
nkWinUi::TreeView::deleteItem
virtual void deleteItem(Item *toDelete, bool keepChildrenOnUpper=false)
nkWinUi::TreeView::Item::~Item
virtual ~Item()
nkWinUi::TreeView::Item::getPrecedingItem
Item * getPrecedingItem() const
nkWinUi::TreeView::Item::disavowChild
void disavowChild(Item *child)
nkWinUi::TreeView::getItemAtRelativeCursor
virtual Item * getItemAtRelativeCursor(const nkMaths::Point &relCoords)=0
nkWinUi::TreeView::selectItemFromItsData
void selectItemFromItsData(void *data)
nkWinUi::TreeView::Item::setText
void setText(const std::string_view &text)
nkWinUi::TreeView::Item::setParentTree
void setParentTree(TreeView *parent)
nkWinUi::TreeView::~TreeView
~TreeView()
nkWinUi
Encompasses all API of component NilkinsWinUi.
Definition: Button.h:7
nkWinUi::TreeView::getSelectionCallback
treeSelectionCallback getSelectionCallback() const
nkWinUi::TreeView::getItemFromData
Item * getItemFromData(void *data) const
nkWinUi::TreeView::setSelectionCallback
void setSelectionCallback(treeSelectionCallback value)
nkWinUi::TreeView::Item::exportIntrospection
void exportIntrospection(nkExport::Node *rootNode)
nkWinUi::TreeView::setSelectionOnRightClick
void setSelectionOnRightClick(bool value)
nkWinUi::TreeView::Item::getChild
Item * getChild(unsigned int index) const
nkWinUi::TreeView::selectItemFromAbsoluteCursor
void selectItemFromAbsoluteCursor(const nkMaths::Point &absCoords)